import { User } from '../users/user.dto'
import { Artist } from './artist.dto'
import { Song } from './song.dto'
import { ReviewStatus } from '../enum'

export interface Album {
  id: number;
  title: string;
  description: string;
  coverImage: string;
  recordLabel: string;
  publishDate: Date;
  types: string[];
  visible: boolean;
  createdAt: Date;
  updatedAt: Date;
  belongsToArtists: Artist[];
  hasProducers: Artist[];
  hasSongs: Song[];
  editions: AlbumEdition[];
  favByUsers: User[];
  favCount: number;
}

export interface AlbumEdition {
  id: number;
  album: Album;
  editor: User;
  description: string;
  note: string;
  reviewStatus: ReviewStatus;
  createdAt: Date;
  updatedAt: Date;
}
